package cn.iocoder.yudao.module.bpm.dal.mysql.task;

import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.ibatis.annotations.Mapper;

import java.util.Collection;
import java.util.List;

/**
 * bpm ext mapper任务
 * bpm ext mapper任务
 *
 * @author huangweidong
 * @date 2023/05/09
 */
@Mapper
public interface BpmTaskExtMapper extends BaseMapperX<BpmTaskExtDO> {

    /**
     * 更新通过任务id
     *
     * @param entity 实体
     */
    default void updateByTaskId(BpmTaskExtDO entity) {
        update(entity, new LambdaQueryWrapper<BpmTaskExtDO>().eq(BpmTaskExtDO::getTaskId, entity.getTaskId()));
    }

    /**
     * 查询列表通过任务id
     *
     * @param taskIds 任务id
     * @return {@code List<BpmTaskExtDO>}
     */
    default List<BpmTaskExtDO> selectListByTaskIds(Collection<String> taskIds) {
        return selectList(BpmTaskExtDO::getTaskId, taskIds);
    }

    /**
     * 查询通过任务id
     *
     * @param taskId 任务id
     * @return {@code BpmTaskExtDO}
     */
    default BpmTaskExtDO selectByTaskId(String taskId) {
        return selectOne(BpmTaskExtDO::getTaskId, taskId);
    }

}
